home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / utility / 579 / program / procdure / blk_move.lst < prev    next >
Encoding:
File List  |  1992-01-25  |  1.0 KB  |  51 lines

  1. PROCEDURE block_move(source%,x1%,y1%,x2%,y2%,destination,dx%,dy%,type%)
  2.   LOCAL xa%,xb%,xc%,xd%
  3.   IF DIM?(par%())
  4.     s_mfbd%(0)=source%
  5.     d_mfbd%(0)=destination%
  6.     par%(0)=x1%
  7.     par%(1)=y1%
  8.     par%(2)=x2%
  9.     par%(3)=y2%
  10.     par%(4)=dx%
  11.     par%(5)=dy%
  12.     par%(6)=x2%-x1%+dx%
  13.     par%(7)=y2%-y1%+dy%
  14.     par%(8)=type%
  15.     BITBLT s_mfbd%(),d_mfbd%(),par%()
  16.   ELSE
  17.     ERASE s_mfbd%(),d_mfbd%(),par%()
  18.     DIM s_mfbd%(8),d_mfbd%(8),par%(8)
  19.     xa%=320
  20.     xb%=200
  21.     xc%=20
  22.     xd%=4
  23.     IF XBIOS(4)
  24.       xa%=640
  25.       xc%=40
  26.       xd%=2
  27.       IF XBIOS(4)=2
  28.         xb%=400
  29.         xd%=1
  30.       ENDIF
  31.     ENDIF
  32.     s_mfbd%(0)=source%
  33.     s_mfbd%(1)=xa%
  34.     s_mfbd%(2)=xb%
  35.     s_mfbd%(3)=xc%
  36.     s_mfbd%(5)=xd%
  37.     d_mfbd%(0)=destination%
  38.     BMOVE VARPTR(s_mfbd%(1)),VARPTR(d_mfbd%(1)),20
  39.     par%(0)=x1%
  40.     par%(1)=y1%
  41.     par%(2)=x2%
  42.     par%(3)=y2%
  43.     par%(4)=dx%
  44.     par%(5)=dy%
  45.     par%(6)=x2%-x1%+dx%
  46.     par%(7)=y2%-y1%+dy%
  47.     par%(8)=type%
  48.     BITBLT s_mfbd%(),d_mfbd%(),par%()
  49.   ENDIF
  50. RETURN
  51.